package com.yunxi.dealer.pojo;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.yunxi.core.web.DateJsonDeserializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 渠道商信息开票信息
 * </p>
 *
 * @author 
 * @since 2019-05-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="PartnerInvoice对象", description="渠道商信息开票信息")
public class PartnerInvoiceVO implements Serializable {

    @ApiModelProperty(value = "主键ID")
    private String invoiceId;

    @ApiModelProperty(value = "渠道代码")
    private String partnerCode;

    @ApiModelProperty(value = "银行国家代码")
    private String bankCode;

    @ApiModelProperty(value = "银行编号")
    private String bankNo;

    @ApiModelProperty(value = "开户帐号")
    private String bankAccount;

    @ApiModelProperty(value = "帐户持有人姓名")
    private String bankHolder;

    @ApiModelProperty(value = "发票代码")
    private String invoiceCode;

    @ApiModelProperty(value = "开户银行名称")
    private String bank;

    @ApiModelProperty(value = "银行邮箱")
    private String bankEmail;

    @ApiModelProperty(value = "开票名称")
    private String title;

    @ApiModelProperty(value = "银行地址")
    private String bankAdd;

    @ApiModelProperty(value = "创建时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date createTime;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ApiModelProperty(value = "修改时间")
    @JsonDeserialize(using = DateJsonDeserializer.class)
    private Date updateTime;

    @ApiModelProperty(value = "修改人")
    private String updateBy;

    @ApiModelProperty(value = "状态1启用0禁用")
    private Integer status;

    @ApiModelProperty(value = "是否删除")
    private Integer isDel;

    @ApiModelProperty(value = "备注")
    private String memo;

    @ApiModelProperty(value = "发票记录")
    private List<PartnerInvoiceRecordVO> partnerInvoiceRecordVOList = new ArrayList<>();

    @ApiModelProperty(value = "账户持有公司")
    private String accountCompany;

    @ApiModelProperty(value = "税号")
    private String taxNo;

    @ApiModelProperty(value = "开票地址")
    private String billingAddress;

    @ApiModelProperty(value = "发票快递地址")
    private String invoiceAddress;

    @ApiModelProperty(value = "开票联系人")
    private String billingLinkman;

    @ApiModelProperty(value = "开票联系电话")
    private String billingPhone;

}
